"""
第一题：设计简单的飞机行李托运计费系统，假设飞机上个人托运行李的条件是：行李重量在20千克以下免费托运；20-30千克超出部分5元/千克；30-40千克超出部分10元/千克；
40-50千克超出部分15元/千克；50千克以上不允许个人携带
"""
weight = float(input('请您输入行李的重量：'))
if weight < 0:
    print('您输入的数据有误！')
elif weight <= 20:
    print('您可以免费托运行李！')
elif weight <= 30:
    price = (weight - 20) * 5
    print('您的托运费用为', price, '元！')
elif weight <= 40:
    price = (30 - 20) * 5 + (weight - 30) * 10
    print('您的托运费用为', price, '元！')
elif weight <= 50:
    price = (30 - 20) * 5 + (40 - 30) * 10 + (weight - 40) * 15
    print('您的托运费用为', price, '元！')
else:
    print('您托运的行李超出了最高上限，不允许托运！')


"""
中国古代数学家张邱建在他的《算经》中提出了一个著名的“百钱买百鸡问题”：鸡翁一，值钱五，鸡母一，值钱三，鸡雏三，值钱一；百钱买百鸡，问翁、母、雏各几何？
编程输出所有可能的方案
"""
for cock in range(0, 20 + 1):  # 鸡翁范围在0到20之间
    for hen in range(0, 33 + 1):  # 鸡母范围在0到33之间
        for biddy in range(3, 99 + 1):  # 鸡雏范围在3到99之间
            # 如果钱数等于100
            if (5 * cock + 3 * hen + biddy / 3) == 100:
                # 如果购买的鸡数等于100
                if (cock + hen + biddy) == 100:
                    if biddy % 3 == 0:  # 判断鸡雏数是否能被3整除
                        print('鸡翁:', cock, '鸡母:', hen, '鸡雏:', biddy)



"""
使用while循环输出2-100的所有素数(只能被1和自己整除的自然数)
"""
i = 2
while i < 100:  # 循环范围为2～100
    j = 2
    while j < i:  # 循环范围为2～i
        if i % j == 0:  # 如果i能整除j，i不是素数
            break  # 跳出循环
        j = j + 1
    if j == i:  # 范围为2～i的循环结束后，如果j等于i，说明i为素数
        print(i, end=' ')  # 输出素数
    i = i + 1

"""
使用for循环输出一个正立实心等腰三角形
"""
for i in range(1, 10):				#循环范围为1～9
    for j in range(10 - i):			#循环范围为0～9-i
        print(end=' ')				#以空格结尾，不换行
    for k in range(10 - i, 10):	#循环范围为10-i～9
        print('*', end=' ')			#以空格结尾，不换行
    print('')							#换行